Setting up your Credentials
If you don't see a credentials.json
file, you will need to rename credentials_example.json
to credentials.json
.
This is how the credentials.json
looks like with all the APIs:
{
"ClientId": 179372110000358912,
"Token": "MTc5MzcyXXX2MDI1ODY3MjY0.ChKs4g.I8J_R9XX0t-QY-0PzXXXiN0-7vo",
"OwnerIds": [
105635123466156544,
105635123566156544,
105635123666156544
],
"LoLApiKey": "6e99ecf36f0000095b0a3ccfe35df45f",
"GoogleApiKey": "AIzaSyDSci1sdlWQOWNVj1vlXxxxxxbk0oWMEzM",
"MashapeKey": "4UrKpcWXc2mshS8RKi00000y8Kf5p1Q8kI6jsn32bmd8oVWiY7",
"OsuApiKey": "4c8c8fdff8e1234581725db27fd140a7d93320d6",
"CleverbotApiKey": "",
"Db": null,
"TotalShards": 1,
"PatreonAccessToken": "",
"PatreonCampaignId": "334038",
"RestartCommand": null,
"ShardRunCommand": "",
"ShardRunArguments": "",
"ShardRunPort": null,
"TwitchClientId": null,
"RedisOptions": null
}
Creating Discord Bot application
- Go to the Discord developer application page.
- Log in with your Discord account.
- Create an application.
- On the General Information tab, fill out the
Name
field (it's your app's name) - Upload an image if you want and add an app description. (Optional)
- Go to the Bot tab on the left sidebar.
- Click on the
Add a Bot
button and confirm that you do want to add a bot to this app.
Inviting your bot to your server
- On the General Information tab, copy your
Client ID
from your applications page. - Replace the
12345678
in this link:https://discordapp.com/oauth2/authorize?client_id=
12345678
&scope=bot&permissions=66186303
with yourClient ID
. - The link should now look like this:
https://discordapp.com/oauth2/authorize?client_id=
YOUR_CLIENT_ID_HERE
&scope=bot&permissions=66186303
- Access that newly created link, pick your Discord server, click
Authorize
and confirm with the captcha at the end. - The bot should have been added to your server.
Setting up credentials.json file
- For Windows (Updater): the
credentials.json
file is located in theC:\Program Files\NadekoBot\system
folder.- Note: there is a shortcut as well in
C:\Program Files\NadekoBot
, for easier access.
- Note: there is a shortcut as well in
- For Windows (Source), Linux and OSX: the
credentials.json
file is located in theNadekoBot/src/NadekoBot
folder.
Getting Client ID:
- On the General Information tab of your applications page, copy your
Client ID
. - Open your
credentials.json
file and replace the12312123
part of the"ClientId"
line with it.- Be careful to not delete or move commas or quotation marks, this will break the file's syntax, making Nadeko unable to launch correctly.
It should look like this:
"ClientId": 179372110000358912,
Getting the Bot's Token:
- On the Bot tab of your applications page, copy your
Token
.- Note: Your bot Token is not the Client Secret! We won't need the Client Secret for anything.
- Paste your bot token between the quotation marks on the
"Token"
line of yourcredentials.json
.
It should look like this:
"Token": "MTc5MzcyXXX2MDI1ODY3MjY0.ChKs4g.I8J_R9XX0t-QY-0PzXXXiN0-7vo",
Getting Owner ID(s):
- Go to your Discord server and attempt to mention yourself, but put a backslash at the start: (to make it slightly easier, add the backslash after you type the mention out)
- For example, the message
\@fearnlj01#3535
will appear as<@145521851676884992>
after you send the message. - The message will appear as a mention if done correctly. Copy the numbers from it
145521851676884992
and replace the 0 on theOwnerIds
section with your user ID. - Save the
credentials.json
file. - If done correctly, you should now be the bot owner. You can add multiple owners by seperating each owner ID with a comma within the square brackets.
For single owner, it should look like this:
"OwnerIds": [
105635576866156544
],
For multiple owners, it should look like this (pay attention to the commas, the last ID should never have a comma next to it):
"OwnerIds": [
105635123466156544,
145521851676884992,
341420590009417729
],
Setting up your API keys
This part is completely optional, however it's necessary for music and a few other features to work properly.
- GoogleAPIKey
- Required for Youtube Song Search, Playlist queuing, URL Shortener and lot more.
- Follow these steps on how to setup Google API keys:
- Go to Google Console and log in.
- Create a new project (name does not matter).
- Once the project is created, go into
Library
- Under the
Other Popular APIs
section, enableURL Shortener API
andCustom Search API
- Under the
YouTube APIs
section, enableYouTube Data API
- Under the
Google Maps APIs
section, enableGoogle Maps Geocoding API
andGoogle Maps Time Zone API
- On the left tab, access
Credentials
,- Click
Create Credentials
button, - Click on
API Key
- A new window will appear with your
Google API key
NOTE: You don't really need to click onRESTRICT KEY
, just click onCLOSE
when you are done. - Copy the key.
- Click
- Open up
credentials.json
and look for"GoogleAPIKey"
, paste your API key inbetween the quotation marks.
It should look like this:
"GoogleApiKey": "AIzaSyDSci1sdlWQOWNVj1vlXxxxxxbk0oWMEzM",
- MashapeKey
- Required for Urban Disctionary, Hashtag search, and Hearthstone cards.
- You need to create an account on their api marketplace, after that go to
market.mashape.com/YOURNAMEHERE/applications/default-application
and press Get the keys in the top right corner. - Copy the key and paste it into
credentials.json
- LoLApiKey
- Required for all League of Legends commands.
- You can get this key here.
- OsuApiKey
- Required for Osu commands
- You can get this key here.
- CleverbotApiKey
- Required if you want to use Cleverobot. It's currently a paid service.
- You can get this key here.
- PatreonAccessToken
- For Patreon creators only.
- PatreonCampaignId
- For Patreon creators only. Id of your campaign.
- TwitchClientId
- Optional. In order to avoid ratelimits that may happen if you use .twitch/.stadd function extensively.
- How to get it
- Go to connections page on twitch and register you applicaiton.
- Once registered, find your application under Other Connections on the Connections page. Click Edit
- You will see your Client ID on the edit page.
Additional Settings
- TotalShards
- Required if the bot will be connected to more than 2500 servers.
- Most likely unnecessary to change until your bot is added to more than 2500 servers.
- RedisOptions
- Required if the Redis instance is not on localhost or on non-default port.
- You can find all available options here.
- RestartCommand
- Required if you want to be able to use the
.restart
command - If you're using the CLI installer or Linux/OSX, it's easier and more reliable setup Nadeko with auto-restart and just use
.die
- Required if you want to be able to use the
For Windows (Updater), add this to your credentials.json
"RestartCommand": {
"Cmd": "NadekoBot.exe"
},
For Windows (Source), Linux or OSX, add this to your credentials.json
"RestartCommand": {
"Cmd": "dotnet",
"Args": "run -c Release"
},
Database
Nadeko saves all settings and data in the database file NadekoBot.db
, located in:
- Windows (Updater):
C:\Program Files\NadekoBot\system\data
- Windows (Source), Linux and OSX:
NadekoBot/src/NadekoBot/bin/Release/netcoreapp2.1/data/NadekoBot.db
In order to open it you will need SQLite Browser.
NOTE: You don't have to worry if you don't have the NadekoBot.db
file, it gets automatically created once you successfully run the bot for the first time.
To make changes:
- Shut your bot down.
- Copy the
NadekoBot.db
file to someplace safe. (Back up) - Open it with SQLite Browser.
- Go to the Browse Data tab.
- Click on the Table drop-down list.
- Choose the table you want to edit.
- Click on the cell you want to edit.
- Edit it on the right-hand side.
- Click on Apply.
- Click on Write Changes.
Sharding your bot
- ShardRunCommand
- Command with which to run shards 1+
- Required if you're sharding your bot on windows using .exe, or in a custom way.
- This internally defaults to
dotnet
- For example, if you want to shard your NadekoBot which you installed using windows installer, you would want to set it to something like this:
C:\Program Files\NadekoBot\system\NadekoBot.exe
- ShardRunArguments
- Arguments to the shard run command
- Required if you're sharding your bot on windows using .exe, or in a custom way.
- This internally defaults to
run -c Release --no-build -- {0} {1} {2}
which will be enough to run linux and other 'from source' setups - {0} will be replaced by the
shard ID
of the shard being ran, {1} by the shard 0's process id, and {2} by the port shard communication is happening on - If shard0 (main window) is closed, all other shards will close too
- For example, if you want to shard your NadekoBot which you installed using windows installer, you would want to set it to
{0} {1} {2}
- ShardRunPort
- Bot uses a random UDP port in [5000, 6000] range for communication between shards